package auth.service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import common.dto.admindto.AdminLogin;
import common.model.admin.AdminPermission;
import common.model.admin.AdminRole;
import common.model.admin.AdminUser;
import common.model.result.Result;

public interface IAdminService {

    Result findAll();

    Result add(AdminUser admin);

    Result edit(AdminUser admin);

    Result delete(AdminUser admin);

    Result role();

    Result roleAdd(AdminRole adminRole);

    Result permission();

    Result RolePermission();

    Result dashboard();

    Result login(AdminLogin adminLogin, HttpServletResponse response);

    Result logout(HttpServletRequest request, HttpServletResponse response);

    Result refreshToken(HttpServletRequest request, HttpServletResponse response);
    
    Result resetPassword(Long adminId, String newPassword);

    Result getOnlineAdminId();
}
